package com.learn.jvm.load;

/**
 * <clinit>与<init>的区别？
 * <ul>
 *     <li><clinit>: static 代码块只会执行一次</li>
 *     <li><init>: 每次新建对象的时候，都会执行</li>
 * </ul>
 */
public class InitTest {

    static {
        System.out.println("1");
    }

    public InitTest() {
        System.out.println("2");
    }

    public static void main(String[] args) {
        InitTest initTest = new InitB();
        initTest = new InitB();
    }

}

class InitB extends InitTest {
    static {
        System.out.println("a");
    }

    public InitB() {
        System.out.println("b");
    }
}

